<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Motorola S-record description</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
</head>
<BODY>
<H1><font face="Arial" size="4">Motorola S-records in EASy68K</font></H1>
<P>DESCRIPTION 
<BLOCKQUOTE>An S-record file consists of a sequence of specially formatted 
  ASCII character strings. An S-record will be less than or equal to 78 bytes in 
  length. 
  <P>The original Unix man page on S-records is the only place that a 78-byte 
	limit on total record length or 64-byte limit on data length is documented. 
	These values should not be trusted for the general case. Always assume that 
	a record can be as long as 514 (decimal) characters in length (255 * 2 = 
	510, plus 4 characters for the type and count fields), plus any terminating 
	character(s). Input buffers should be long enough to hold 515 chars, thus 
	leaving room for the terminating null character. The order of S-records within a file is of no significance and no 
  particular order may be assumed with the exception of the termination record 
	at the end. 
  <P>The general format of an S-record follows: </P>
	<PRE><TT>+-------------------//------------------//-----------------------+
| type | count | address  |            data           | checksum |
+-------------------//------------------//-----------------------+</TT>
</PRE>type -- A char[2] field. These characters describe the type of 
  record (S0, S1, S2, S3, S5, S7, S8, or S9). 
  	<P>count -- A char[2] field. These characters when paired and interpreted as a 
  hexadecimal value, display the count of remaining character pairs in the 
  record. 
  	<P>address -- A char[4,6, or 8] field. These characters grouped and 
  interpreted as a hexadecimal value, display the address at which the data 
  field is to be loaded into memory. The length of the field depends on the 
  number of bytes necessary to hold the address. A 2-byte address uses 4 
  characters, a 3-byte address uses 6 characters, and a 4-byte address uses 8 
  characters. 
  	<P>data -- A char [0-64] field. These characters when paired and interpreted 
  as hexadecimal values represent the memory loadable data or descriptive 
  information. 
  	<P>checksum -- A char[2] field. These characters when paired and interpreted 
  as a hexadecimal value display the least significant byte of the ones 
  complement of the sum of the byte values represented by the pairs of 
  characters making up the count, the address, and the data fields. 
  	<P>Each record is terminated with a line feed. If any additional or different 
  record terminator(s) or delay characters are needed during transmission to the 
  target system it is the responsibility of the transmitting program to provide 
  them.
	<P>S0 Record. The address field is unused and will be filled with zeros 
	(0x0000). The code/data field contains descriptive information identifying 
	the following block of S-records as having been created by EASy68K. 
	Beginning with EASy68K v5.0.0 the memory map information generated with the 
	MEMORY directive is saved in S0 records. <P>S1 Record. The address field is 
  interpreted as a 2-byte address. The data field is composed of memory loadable 
  data. 
  	<P>S2 Record. The address field is 
  interpreted as a 3-byte address. The data field is composed of memory loadable 
  data. 
  	<P>S3 Record. The address field is 
  interpreted as a 4-byte address. The data field is composed of memory loadable 
  data. 
  	<P>S5 Record. The address field is 
  interpreted as a 2-byte value and contains the count of S1, S2, and S3 records 
  previously transmitted. There is no data field. (EASy68K does not generate 
  this record.)<P>S7 Record. Termination record. The address field 
  contains the starting execution address and is interpreted as 4-byte address. 
  There is no data field. This is the last record in the file. (EASyBIN always 
	uses this termination record when creating S-Record files.)<P>S8 Record. 
	Termination record. The address field 
  contains the starting execution address and is interpreted as 3-byte address. 
  There is no data field.&nbsp; This is the last record in the file. (EASy68K always uses this termination record 
	when creating S-Record files.)<P>S9 Record. 
	Termination record. The address field 
  contains the starting execution address and is interpreted as 2-byte address. 
  There is no data field. This is the last record in the file. </P></BLOCKQUOTE>
<P>&nbsp;<P>EXAMPLE 
<BLOCKQUOTE>
  <p style="margin-top: 0; margin-bottom: 0">The following program was assembled 
  with EASy68K. The .L68 file is shown. The .L68 file contains the address, 
  machine code, line number and source code.</p>
  <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
  <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001000 Starting Address</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  Assembler used: EASy68K Editor v1.9.2</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  Created On: 1/28/2004 4:51:58 PM</font></p>
  <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
  <p style="margin-top: 0; margin-bottom: 0"><b>
  <font face="Courier New" size="2">Address&nbsp;&nbsp;&nbsp; Machine Code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  Line&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source Code</font></b></p>
  <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  1&nbsp; *-----------------------------------------------------------</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  2&nbsp; * Program Number: S-Record demo for EASy68k</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  3&nbsp; * Written by : Chuck Kelly</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  4&nbsp; * Date Created : Jan-28-2004</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  5&nbsp; * Description : demonstrate the S-Record file format used by EASy68K.</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  6&nbsp; * </font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  7&nbsp; * This program is public domain.</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  8&nbsp; *-----------------------------------------------------------</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  9 </font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  10&nbsp; START&nbsp;&nbsp; ORG&nbsp;&nbsp;&nbsp;&nbsp; $1000&nbsp;&nbsp; the 
  program will load into address $1000</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001000 123C 0003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move.b&nbsp; #3,d1&nbsp;&nbsp; 
  put 3 in low byte of data register D1</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001004 5A01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add.b&nbsp;&nbsp; 
  #5,d1&nbsp;&nbsp; add 5 to low byte of data register D1</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001006&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  13&nbsp; * Display string textD1</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001006 303C 000E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move&nbsp;&nbsp;&nbsp; 
  #14,d0&nbsp; load task number into D0</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  0000100A 43F9 00044446&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp; 
  textD1,a1 load address of string to display into A1</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001010 4E4F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trap&nbsp;&nbsp;&nbsp; 
  #15&nbsp;&nbsp;&nbsp;&nbsp; trap #15 activates input/output task</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  17&nbsp; * Display D1 as a number</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001012 303C 0003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move&nbsp;&nbsp;&nbsp; 
  #3,d0&nbsp;&nbsp; task number 3 into D0</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001016&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  19&nbsp; * task number 3 is used to display the contents of D1.L as a number</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001016 4E4F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trap&nbsp;&nbsp;&nbsp; 
  #15&nbsp;&nbsp;&nbsp;&nbsp; display number in D1.l</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001018 4EB9 00022222&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jsr&nbsp;&nbsp;&nbsp;&nbsp; 
  newLine</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  0000101E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  22&nbsp; * Stop execution</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  0000101E 4E72 2000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STOP&nbsp;&nbsp;&nbsp; 
  #$2000</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00001022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  24 </font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022222&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org&nbsp;&nbsp;&nbsp;&nbsp; 
  $22222&nbsp; this subroutine is located at address $22222</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022222&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  26&nbsp; * Subroutine to display Carriage Return and Line Feed</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022222&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  27&nbsp; newLine:</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022222 48E7 8040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movem.l d0/a1,-(a7) 
  push d0 &amp; a1</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022226 303C 000E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; move&nbsp;&nbsp;&nbsp; 
  #14,d0&nbsp; task number into D0</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  0002222A 43F9 00044462&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lea&nbsp;&nbsp;&nbsp;&nbsp; 
  crlf,a1 address of string</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022230 4E4F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trap&nbsp;&nbsp;&nbsp; 
  #15&nbsp;&nbsp;&nbsp;&nbsp; display return, linefeed</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022232 4CDF 0201&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; movem.l (a7)+,d0/a1&nbsp; 
  restore d0 &amp; a1</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022236 4E75&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  33&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rts&nbsp;&nbsp;&nbsp;&nbsp; 
  return</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00022238&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  34 </font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044444&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org&nbsp;&nbsp;&nbsp;&nbsp; 
  $44444&nbsp; this data is located at address $44444</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044444&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  36&nbsp; sum2&nbsp;&nbsp;&nbsp; ds.w&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  reserve word of memory for sum2</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044446 44 31 20 63 6F 6E ...&nbsp; 37&nbsp; textD1&nbsp; dc.b 'D1 contains: 
  ',0&nbsp;&nbsp; null terminated string</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044454 44 32 20 63 6F 6E ...&nbsp; 38&nbsp; textD2&nbsp; dc.b 'D2 contains: 
  ',0&nbsp;&nbsp; null terminated string</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044462 0D 0A 00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  39&nbsp; crlf&nbsp;&nbsp;&nbsp; dc.b $d,$a,0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  carriage return &amp; line feed, null</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044465&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  40 </font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044465&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  41&nbsp; 
  */\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044465&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  42&nbsp; * E R R O R E R R O R E R R O R E R R O R E R R O R</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044465&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  43&nbsp; 
  */\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044465&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  44&nbsp; * EASy68K does not support addresses beyond $FFFFFF or 16MBytes</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  00044465&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  45&nbsp; * Comment out the following org directive if you want to run this 
  program.</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  12345678&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  46&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org&nbsp;&nbsp;&nbsp;&nbsp; 
  $12345678</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  12345678 69 6E 76 61 6C 69 ...&nbsp; 47&nbsp; junk&nbsp;&nbsp;&nbsp; dc.b 
  'invalid address'</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  12345687&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  48 </font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New" size="2">
  12345687&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  49&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END&nbsp;&nbsp;&nbsp;&nbsp; 
  START&nbsp;&nbsp;&nbsp;&nbsp; end of program with start address specified</font></p>
&nbsp;<p>&nbsp;</p>
  <p>The S-record file created from the above program follows:. </p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">
	S021000036384B50524F47202020323043524541544544204259204541535936384B6D</font></p>
	<p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">
  S1251000123C00035A01303C000E43F9000444464E4F303C00034E4F4EB9000222224E72200004</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">
  S21A02222248E78040303C000E43F9000444624E4F4CDF02014E75C2</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">
  S223044446443120636F6E7461696E733A2000443220636F6E7461696E733A20000D0A009A</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">
  S31412345678696E76616C69642061646472657373EA</font></p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">
  S804001000EB</font></p>
  <p>&nbsp;</p>
  <p>The S0 Record contains the following information:</p>
  <p><font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  /-version number<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; module name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  / /-revision number&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  checksum<br>
  S0&nbsp; 0000 6 8 K P R O G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 0 C R E A T 
  E D&nbsp;&nbsp; B Y&nbsp;&nbsp; E A S Y 6 8 K /<br>
  S021000036384B50524F47202020323043524541544544204259204541535936384B6D</font></p>
  <p>The version and revision number refer to the EASy68K S-Record file type, 
  not the product version.</p>
  <p>The file consists of one S0 record, one S1 record, two S2 records, one S3 
  record and an 
  S8 record. </p>
  <p>The first S1 record is comprised as follows: </p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">S1 25 1000 
  123C00035A01303C000E43F9000444464E4F303C00034E4F4EB9000222224E722000 04</font></p>
  <UL>
    <LI>S1 S-record type, indicating it is a data record to be loaded at a 
    2-byte address. 
    <LI>25 Hexadecimal (decimal 37), indicating that thirty-seven character 
    pairs, representing a 2 byte address, 34 bytes of binary data, and a 1 byte 
    checksum, follow. 
    <LI>1000 Four character 2-byte address field; hexadecimal address $1000, 
    where the data which follows is to be loaded. 
    <LI><font face="Courier New">123C00035A01...</font> 34 character pairs 
    representing the actual binary data. 
    <LI>04 The checksum. </LI></UL>
  <p>The first S2 record is comprised as follows: </p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">S2 1A 
  022222 48E78040303C000E43F9000444624E4F4CDF02014E75 C2</font></p>
  <UL>
    <LI>S2 S-record type, indicating it is a data record to be loaded at a 
    3-byte address. 
    <LI>1A Hexadecimal (decimal 26), indicating that twenty-six character pairs, 
    representing a 3 byte address, 22 bytes of binary data, and a 1 byte 
    checksum, follow. 
    <LI>022222 Six character 3-byte address field; hexadecimal address $022222, 
    where the data which follows is to be loaded. 
    <LI><font face="Courier New">48E78040303C... </font>22 character pairs 
    representing the actual binary data. 
    <LI>C2 The checksum. </LI></UL>
  <p>The second S2 record contains additional data which is to be loaded at 
  address $044446</p>
  <p>The first S3 record is comprised as follows: </p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">S3 14 
  12345678 696E76616C69642061646472657373 EA</font></p>
  <UL>
    <LI>S3 S-record type, indicating it is a data record to be loaded at a 
    4-byte address. 
    <LI>14 Hexadecimal (decimal 20), indicating that twenty character pairs, 
    representing a 4 byte address, 15 bytes of binary data, and a 1 byte 
    checksum, follow. 
    <LI>12345678 Eight character 4-byte address field; hexadecimal address 
    $12345678, 
    where the data which follows is to be loaded. 
    <LI><font face="Courier New">696E76616C69... </font>15 character pairs 
    representing the actual binary data. 
    <LI>EA The checksum. </LI></UL>
  <P>The S8 record is comprised as follows: 
  <p style="margin-top: 0; margin-bottom: 0">&nbsp;</p>
  <p style="margin-top: 0; margin-bottom: 0"><font face="Courier New">S8 04 
  001000 EB</font></p>
  <UL>
    <LI>S8 S-record type, indicating it is a termination record with a 3-byte 
    address. 
    <LI>04 Hexadecimal (decimal 4), indicating that four character pairs 
    follow. 
    <LI>001000 The address field, hexadecimal address $001000 indicating the 
    starting execution address. 
    <LI>EB The checksum. </LI></UL>
  <p>EASy68K always uses the S8 record.</p>
</BLOCKQUOTE>
<HR>

</BODY></HTML>